package com.wlk.controller;

import com.wlk.pojo.User;
import com.wlk.pojo.dto.AddUserDTO;
import com.wlk.pojo.dto.LoginDTO;
import com.wlk.service.UserService;
import com.wlk.utils.Result;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;

@RestController
@RequestMapping("/user")
public class UserController {
    @Resource
    private UserService userService;

    /**
     * @description: 用户登录接口
     * @author:
     * @date: 2024/6/12 下午2:26
     * @param:
     * @return:
     **/
    @PostMapping("/login")
    public Result login(@RequestBody LoginDTO loginDTO) {
        return userService.login(loginDTO.getUsername(), loginDTO.getPassword());
    }


    /**
     * @description: 获取用户列表信息，管理用户列表
     * @author:
     * @date: 2024/6/12 下午2:58
     * @param:
     * @return:
     **/
    @GetMapping("/list")
    public Result getUserList() {
        return userService.getUserList();
    }

    /**
     * @description: 添加用户
     * @author:
     * @date: 2024/6/16 下午9:15
     * @param:
     * @return:
     **/
    @PostMapping("/add")
    public Result addUser(@RequestBody AddUserDTO addUserDTO){
        return userService.addUser(addUserDTO);
    }
    /**
     * @description: 为添加部门提供数据接口
     * @author:
     * @date: 2024/6/16 下午11:41
     * @param:
     * @return:
     **/
    @GetMapping("/toAddDep")
    public Result toAddDep() {
        return userService.toAddDep();
    }

    /**
     * @description: 用于项目负责人授权的用户列表接口
     * @author:
     * @date: 2024/6/18 下午10:57
     * @param:
     * @return:
     **/
    @GetMapping("/getListToGrant/{proCode}")
    public Result getListToGrant(@PathVariable("proCode") String proCode) {
        return userService.getListToGrant(proCode);
    }



}
